/**
  ******************************************************************************
  * @file    basement.h
  * @author  dragonchern
  * @version V1.0.0
  * @date    04-27-2018
  * @brief   用户自定义
  * @project linuxclient
  ******************************************************************************
  * @note
  * <h2><center>&copy; COPYRIGHT 2018 上海今中网络科技有限公司 </center></h2>
  ******************************************************************************
  */

#ifndef __BASEMENT__H__
#define __BASEMENT__H__

#include <time.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <stdarg.h>
#include <signal.h>

#include <getopt.h>

#include "common.h"
#include "log-util.h"

/// 是否允许调试
#define ENABLE_DEBUG
//#undef  ENABLE_DEBUG

/// 是否跳过x509环节
/*请查找相对应的宏*/
#define ENABLE_NOT_IDX_VPN_X509 //可以不用x509step
#undef  ENABLE_NOT_IDX_VPN_X509
/// 是否开启证书认证
/*请查找相对应的宏*/
#define ENABLE_NO_CERT //可以不用证书验证
//#undef  ENABLE_NO_CERT


#define ENABLE_SSL

/// OS TYPE
#define USE_LINUX
#ifdef  USE_LINUX
#include <unistd.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <string.h>
#include <libgen.h>//basename()
#include <pthread.h>//pthread_create()
#else
#endif




#define Size(x)             (sizeof(x)/sizeof(x[0]))
#define BoolCast(x)         ((x) ? TRUE : FALSE)
#define ZeroMemory(a, b)	memset((a), 0, (b))

/// 比较两个字符串是否相等
#define streql	            !strcmp
#define strieql             !strcasecmp
#define strneql             !strncmp
#define strnieql            !strncasecmp

/// 控制台输入输出重定义
#define ConsoleRead         scanf
#define ConsoleWrite        printf
#define ConsoleInput        ConsoleRead
#define ConsoleOutput       ConsoleWrite

/// 用户自定义
#define CR                  "\n"
#define LF                  "\r"
#define CRLF                "\r\n"
#define CloseSocket         close
#define CloseFile           close
#define RETURN_FAILURE      -1
#define RETURN_SUCCESS      0

/******************************* 软件相关控制 *************************/
#define CLIENT_NAME         "secureClient"                         // 根据实际需要修改,log-util.c
//#define SERVER_KEY_PATH     "/sonicom"                          // KEY路径
#define CLIENT_KEY_PATH     "./"
#define SERVER_BASEPATH     "/sonicom/conf/vpn/conf/"           // 基路径
#define SERVER_CNF_PTPT	    SERVER_BASEPATH		                // 配置文件父路径
#define SERVER_DFT_CNF_PATH SERVER_CNF_PTPT SERVER_NAME ".conf" // 默认配置文件路径
#define SERVER_CNF_PATH	    ConfigPath                          // 系统配置文件路径(根据实际需要修改)
#define SERVER_SIGNAL_PATH  SERVER_NAME ".sig"                  // 信号路径
#define SERVER_WORKER_PID   SERVER_NAME ".w.pid"                // 工作pid
//#define SERVER_LOG_BUFLEN   1024                                // 日志buffer长度
#define CLIENT_LOG_BUFLEN   1024
#define server_main         main



#endif///#ifndef __BASEMENT__H__

/******************* (C) COPYRIGHT 2018 上海今中网络科技有限公司 *****END OF FILE****/





